home *** CD-ROM | disk | FTP | other *** search
- {
- From: jmillard@nmsu.edu (James B. Millard)
- I'll post this again. This is my TPW/OWL version of the 64k edit control.
- I had to override the Create procedure (I also had to bring the
- AttachProperties procedure out of odialogs...). I have put slightly more
- than 64k in this edit control.
- }
-
- Function TEditEx.Create: Boolean;
- Var HParent : HWnd;
- EditDS, AInstance : THandle;
- EditDSPtr : Pointer;
- Begin
- DisableAutoCreate;
- If (Parent=NIL) Then HParent:=0 Else HParent:=Parent^.HWindow;
- EditDS:=GlobalAlloc(GMEM_DDEShare OR GMEM_Moveable OR GMEM_ZeroInit, 4096);
- If (EditDS=0) Then AInstance:=HInstance
- Else Begin
- EditDSPtr:=GlobalLock(EditDS);
- LocalInit(HiWord(LongInt(EditDSPtr)), 16, Word(GlobalSize(EditDS)-16));
- UnlockSegment(HiWord(LongInt(EditDSPtr)));
- AInstance:=HiWord(LongInt(EditDSPtr));
- End;
- If Register Then With Attr Do CreateWindowEx(ExStyle, GetClassName, Title,
- Style, X, Y, W, H, HParent, Id, AInstance, Param);
- HWindow:=GetDlgItem(HParent, Attr.ID);
- If (HWindow=0) Then Status:=em_InvalidWindow
- Else If (GetObjectPtr(HWindow)=NIL) Then Begin
- AttachProperties(HWindow, @Self);
- DefaultProc:=TFarProc(SetWindowLong(HWindow, gwl_WndProc,
- LongInt(Instance)));
- SetupWindow;
- End;
- Create:=(Status=0);
- SendMessage(HWindow, em_LimitText, 0, 0);
- End;
-
-